#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
//	int x = 10;
//	int y = 10;
//	int n = 3;
//	int z = 0;
//	while (n-- > 0)
//	{
//		z = x < y ? x-- : y--;
//	}
//	return 0;
//}
int removeDuplicates(int* nums, int numsSize)
{
    int dst = 0;
    int src = 1;
    while (src < numsSize)
    {
        if (nums[src] == nums[dst])
        {
            src++;
        }
        else
        {
            nums[++dst] = nums[src++];
        }
    }
    return dst + 1;
}
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{
    int n1 = m - 1;
    int n2 = n - 1;
    int ptr = nums1Size - 1;
    int cur;
    while (n1 >= 0 || n2 >= 0)
    {
        if (n1 == -1)
        {
            cur = nums2[n2--];
        }
        else if (n2 == -1)
        {
            cur = nums1[n1--];
        }
        else if (nums1[n1] > nums2[n2])
        {
            cur = nums1[n1--];
        }
        else
        {
            cur = nums2[n2--];
        }
        nums1[ptr--] = cur;
    }
}
int removeElement(int* nums, int numsSize, int val)
{
    int dst = 0;
    int src = 0;
    while (src < numsSize)
    {
        if (nums[src] != val)
        {
            nums[dst++] = nums[src++];
        }
        else
        {
            src++;
        }
    }
    return dst;
}